Model也可提供刪除資料表的功能,有幾種方式可以進行刪除,依序下列來介紹
第1種,直接用Model定義過的User來進行操作
await User.drop();
console.log("users 資料表已經刪除!");
第2種,直接刪除所有的資料表 這個可不要亂用呀
await sequelize.drop();
console.log("所有資料表已刪除!");
sync 與 drop 都是屬於破壞性的功能,如果你想要用正規表式法的RegExp的方法來操作,可以這麼做
sequelize.sync({ force: true, match: /_test$/ });
以資料表名稱的結尾是「_test」的,才進行 .sync()的方法
官方文件是說,不建立在正式的環境上使用這2種方法。我個人是認為連develop 的環境也不要使用,就像我上一節講到的,你難保不會打錯一個字。看起來程式都沒問題,實際跑了才知道,這種虧我吃過太多次了。
第1次,有很有自信的認為,我程式寫的沒問題,看很多遍了,不用備份,下去跑了,結果完了!!
第2次,學乖一點了,先備份一下,再去跑,結果還是出問題,當然有了備份,還原就不是問題了
也就是說,官方有提供這樣的方式,但基本上有經驗的人是不輕易使用它的。
想對外分享這則貼文嗎?運用網址更方便呦~